package cn.com.self.apis.member.entity.dto;

import cn.com.self.apis.files.entity.Files;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;

/**
 * @Author CRL
 * @Date 2021/5/20 20:44
 */
@Data
public class ReportInfoDTO {
    /**
     * 举报会员id
     */
    @ApiModelProperty(value = "举报会员id")
    private Long memberId;
    /**
     * 被举报会员id
     */
    @ApiModelProperty(value = "被举报会员id")
    private Long memberIdEd;
    /**
     * 举报会员名称
     */
    @TableField(exist=false)
    @ApiModelProperty(value = "举报会员名称")
    private String memberName;
    /**
     * 被举报会员名称
     */
    @TableField(exist=false)
    @ApiModelProperty(value = "被举报会员名称")
    private String memberNameEd;
    /**
     * 举报时间
     */
    @ApiModelProperty(value = "举报时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date time;
    /**
     * 内容描述
     */
    @ApiModelProperty(value = "内容描述")
    private String content;
    /**
     * 状态（1审核中、2通过、3不通过）
     */
    @ApiModelProperty(value = "状态（1审核中、2通过、3不通过）")
    private String reportState;

    @ApiModelProperty(value = "举报对象id")
    private BigInteger reortObjId;

    @ApiModelProperty(value = "举报类型：1用户举报 2需求举报")
    private String reportType;

    @ApiModelProperty(value = "备注信息")
    private String remarks;

    @ApiModelProperty(value = "删除标记")
    private char delFlag;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

    @TableField(exist=false)
    @ApiModelProperty(value = "举报附件列表")
    private ArrayList<Files> reportInfoFiles;

}
